//============================================================================
// Name        : ch11ex03.cpp
// Author      : Jordan Gray
// Version     :
// Copyright   : MIT
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
#include <assert.h>
#include "int.h"

//INT is very similar to int, but I didn't do all of the assignment by operatoins like *=, <<=, etc
int main() {
  using namespace ch11ex03;
	std::cout << "!!!Hello World!!!" << std::endl; // prints !!!Hello World!!!
	INT myint1 = 1;
	INT myint2(2);
	INT myint3;
	myint3 = 3;
  myint3 = myint1+myint2;
  assert(myint3 == 3);
  INT myint4(myint3);
  myint4 += 1;
  INT myint5 = ++myint4;
  assert(myint5 == 5);
  assert(myint4 == 5);
  bool tmp = (myint4-- == 5);
  assert(tmp);
  assert(myint4 == 4);
  INT myint6;
  INT* p_myint6 = &myint6;
  *p_myint6 = 6;
  assert(*p_myint6 == 6);
  if(myint6 == 6) assert(true); else assert(false);
	return 0;
}
